<?xml version="1.0" encoding="utf-8"?>
<!--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Daffodil for Visual Studio  <http://daffodil.codeplex.com>
- Native multi-targeting support for Visual Studio 6 in Visual Studio 2010

2.2  [2011-09-08]

Owen Wengerd, ManuSoft
http://www.manusoft.com

Credits
  Some aspects of this project are based on information in this MSDN blog post:
  http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx
  
  This file is a derivative work based on the file of the same name that is
  included with Visual Studio 2010. The original file bears the copyright
  notice reproduced below. Implicit authorization from Microsoft to create and
  distribute derivative works is deduced from comments in the files and
  documentation which describe ways to customize the build system by making
  changes to these files.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-->
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="MIDL" PageTemplate="tool" DisplayName="MIDL" SwitchPrefix="/" Order="60" xmlns="http://schemas.microsoft.com/build/2009/properties" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Rule.Categories>
    <Category Name="General" DisplayName="Generale"/>
    <Category Name="Output" DisplayName="Output"/>
    <Category Name="Advanced" DisplayName="Avanzate"/>
    <Category Name="Command Line" DisplayName="Riga di comando" Subtype="CommandLine"/>
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" ItemType="Midl" Label="" HasConfigurationCondition="true"/>
  </Rule.DataSource>
  <StringListProperty Name="PreprocessorDefinitions" DisplayName="Definizioni preprocessore" Description="Specifica una o più definizioni, comprese le macro MIDL. (/D[macro]" Category="General" Switch="D " F1Keyword="VC.Project.VCMidlTool.PreprocessorDefinitions">
  </StringListProperty>
  <StringListProperty Subtype="folder" Name="AdditionalIncludeDirectories" DisplayName="Directory di inclusione aggiuntive" Description="Specifica una o più directory da aggiungere al percorso di inclusione. (/I[percorso])" Category="General" Switch="I" F1Keyword="VC.Project.VCMidlTool.AdditionalIncludeDirectories">
  </StringListProperty>
  <BoolProperty Name="IgnoreStandardIncludePath" DisplayName="Ignora percorsi di inclusione standard" Description="Ignora la directory corrente e la directory INCLUDE" Category="General" Switch="no_def_idir" F1Keyword="VC.Project.VCMidlTool.IgnoreStandardIncludePath">
  </BoolProperty>
  <BoolProperty Name="MkTypLibCompatible" DisplayName="Compatibile MkTypLib" Description="Impone la compatibilità con la versione 2.03 di mktyplib.exe. (/mktyplib203)" Category="General" Switch="mktyplib203" F1Keyword="VC.Project.VCMidlTool.MkTypLibCompatible">
  </BoolProperty>
  <EnumProperty Name="WarningLevel" DisplayName="Livello avvisi" Description="Specifica la severità degli errori del codice MIDL. (/Wn)" Category="General" F1Keyword="VC.Project.VCMidlTool.WarningLevel">
    <EnumValue Name="0" Switch="W0" DisplayName="1">
    </EnumValue>
    <EnumValue Name="1" Switch="W1" DisplayName="1">
    </EnumValue>
    <EnumValue Name="2" Switch="W2" DisplayName="2">
    </EnumValue>
    <EnumValue Name="3" Switch="W3" DisplayName="3">
    </EnumValue>
    <EnumValue Name="4" Switch="W4" DisplayName="4">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="WarnAsError" DisplayName="Considera gli avvisi come errori" Description="Indica a MIDL di considerare tutti gli avvisi come errori. (/WX)" Category="General" Switch="WX" F1Keyword="VC.Project.VCMidlTool.WarnAsError">
  </BoolProperty>
  <BoolProperty Name="SuppressStartupBanner" DisplayName="Non visualizzare messaggio di avvio" Description="Evita la visualizzazione del messaggio di avvio e dei messaggi informativi. (/nologo)" Category="General" Switch="nologo" F1Keyword="VC.Project.VCMidlTool.SuppressStartupBanner">
  </BoolProperty>
  <EnumProperty Name="DefaultCharType" DisplayName="Tipo char compilatore C" Description="Specifica il tipo char predefinito del compilatore C utilizzato per compilare il codice generato. (/char signed|unsigned|ascii7)" Category="General" F1Keyword="VC.Project.VCMidlTool.DefaultCharType">
    <EnumValue Name="Signed" Switch="char signed" DisplayName="Signed" Description="Signed">
    </EnumValue>
    <EnumValue Name="Unsigned" Switch="char unsigned" DisplayName="Unsigned" Description="Unsigned">
    </EnumValue>
    <EnumValue Name="Ascii" Switch="char ascii7" DisplayName="ASCII" Description="ASCII">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="TargetEnvironment" DisplayName="Ambiente di destinazione" Description="Specifica l'ambiente di destinazione. (/env win32|dos|win16|mac)" Category="General" F1Keyword="VC.Project.VCMidlTool.TargetEnvironment">
    <EnumValue Name="NotSet" Switch="" DisplayName="Non impostato" Description="Win32">
    </EnumValue>
    <EnumValue Name="Win32" Switch="env win32" DisplayName="Microsoft Windows a 32 bit" Description="Win32">
    </EnumValue>
    <EnumValue Name="DOS" Switch="env dos" DisplayName="Microsoft MS-DOS" Description="MS-DOS">
    </EnumValue>
    <EnumValue Name="Win16" Switch="env win16" DisplayName="Microsoft Windows a 16 bit" Description="Win16">
    </EnumValue>
    <EnumValue Name="Mac" Switch="env mac" DisplayName="Apple Macintosh (680x0)" Description="Macintosh">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="GenerateStublessProxies" DisplayName="Genera proxy senza stub" Description="Genera stub completamente interpretati con estensioni e proxy senza stub per le interfacce degli oggetti. (/Oicf, /Oif)" Category="General" Switch="Oicf" F1Keyword="VC.Project.VCMidlTool.GenerateStublessProxies">
  </BoolProperty>
  <BoolProperty Name="SuppressCompilerWarnings" DisplayName="Non visualizzare avvisi del compilatore" Description="Evita la visualizzazione dei messaggi di avviso del compilatore. (/no_warn)" Category="General" Switch="no_warn" F1Keyword="VC.Project.VCMidlTool.SuppressCompilerWarnings">
  </BoolProperty>
  <BoolProperty Name="ApplicationConfigurationMode" DisplayName="Modalità di configurazione applicazione" Description="Consente di utilizzare gli attributi ACF specificati nel file IDL. (/app_config)" Category="General" Switch="app_config" F1Keyword="VC.Project.VCMidlTool.ApplicationConfigurationMode">
  </BoolProperty>
  <IntProperty Name="LocaleID" DisplayName="ID impostazioni locali" Description="Specifica il LCID per i file di input, i nomi di file e i percorsi di directory (/lcid DECIMAL)" Category="General" Switch="lcid" Separator=" " F1Keyword="VC.Project.VCMidlTool.LocaleID">
  </IntProperty>
  <StringProperty Name="OutputDirectory" DisplayName="Directory di output" Description="Directory di output. (/out [directory])" Category="Output" Switch="out" F1Keyword="VC.Project.VCMidlTool.OutputDirectory">
  </StringProperty>
  <StringProperty Subtype="file" Name="HeaderFileName" DisplayName="File di intestazione" Description="Specifica il nome del file di intestazione generato. (/h nomefile)" Category="Output" Switch="h" Separator=" " F1Keyword="VC.Project.VCMidlTool.HeaderFileName">
  </StringProperty>
  <StringProperty Subtype="file" Name="DllDataFileName" DisplayName="File DLLDATA" Description="Specifica il nome del file DLLDATA. (/dlldata nomefile)" Category="Output" Switch="dlldata" Separator=" " F1Keyword="VC.Project.VCMidlTool.DLLDataFileName">
  </StringProperty>
  <StringProperty Subtype="file" Name="InterfaceIdentifierFileName" DisplayName="File IID" Description="Specifica il nome per il file dell'identificatore di interfaccia. (/iid nomefile)" Category="Output" Switch="iid" Separator=" " F1Keyword="VC.Project.VCMidlTool.InterfaceIdentifierFileName">
  </StringProperty>
  <StringProperty Subtype="file" Name="ProxyFileName" DisplayName="File proxy" Description="Specifica il nome del file proxy. (/proxy nomefile)" Category="Output" Switch="proxy" Separator=" " F1Keyword="VC.Project.VCMidlTool.ProxyFileName">
  </StringProperty>
  <BoolProperty ReverseSwitch="notlb" Name="GenerateTypeLibrary" DisplayName="Genera libreria dei tipi" Description="Indica di non generare una libreria dei tipi. ([/notlb] per non generarla)" Category="Output" F1Keyword="VC.Project.VCMidlTool.GenerateTypeLibrary">
  </BoolProperty>
  <StringProperty Subtype="file" Name="TypeLibraryName" DisplayName="Libreria dei tipi" Description="Specifica il nome del file della libreria dei tipi. (/tlb nomefile)" Category="Output" Switch="tlb" Separator=" " F1Keyword="VC.Project.VCMidlTool.TypeLibraryName">
  </StringProperty>
  <EnumProperty Name="GenerateClientFiles" DisplayName="Genera file stub client" Description="Genera solo file stub client. (/client [stub|nessuno])" Category="Output" F1Keyword="VC.Project.VCMidlTool.GenerateClientFiles">
    <EnumValue Name="Stub" Switch="client stub" DisplayName="Stub" Description="Stub">
    </EnumValue>
    <EnumValue Name="None" Switch="client none" DisplayName="Nessuno" Description="Nessuno">
    </EnumValue>
  </EnumProperty>
  <EnumProperty Name="GenerateServerFiles" DisplayName="Genera file stub server" Description="Genera solo file stub server (/server [stub|nessuno])" Category="Output" F1Keyword="VC.Project.VCMidlTool.GenerateServerFiles">
    <EnumValue Name="Stub" Switch="server stub" DisplayName="Stub" Description="Stub">
    </EnumValue>
    <EnumValue Name="None" Switch="server none" DisplayName="Nessuno" Description="Nessuno">
    </EnumValue>
  </EnumProperty>
  <StringProperty Subtype="file" Name="ClientStubFile" DisplayName="File stub client" Description="Specifica il file stub client. (/cstub [file])" Category="Output" Switch="cstub" Separator=" " F1Keyword="VC.Project.VCMidlTool.ClientStubFile">
  </StringProperty>
  <StringProperty Subtype="file" Name="ServerStubFile" DisplayName="File stub server" Description="Specifica il file stub server. (/sstub [file])" Category="Output" Switch="sstub" Separator=" " F1Keyword="VC.Project.VCMidlTool.ServerStubFile">
  </StringProperty>
  <EnumProperty Name="TypeLibFormat" DisplayName="Formato libreria dei tipi" Description="Specifica il formato del file della libreria dei tipi. ([/oldtlb|/newtlb])" Category="Output" F1Keyword="VC.Project.VCMidlTool.TypeLibFormat">
    <EnumValue Name="NewFormat" Switch="newtlb" DisplayName="NewFormat" Description="Nuovo formato">
    </EnumValue>
    <EnumValue Name="OldFormat" Switch="oldtlb" DisplayName="OldFormat" Description="Vecchio formato">
    </EnumValue>
  </EnumProperty>
  <StringProperty Name="CPreprocessOptions" DisplayName="Opzioni di pre-elaborazione C" Description="Specifica le opzioni da passare al preprocessore del compilatore C. (/cpp_opt opzioni)" Category="Advanced" Switch="cpp_opt" Separator=" " F1Keyword="VC.Project.VCMidlTool.CPreprocessOptions">
  </StringProperty>
  <StringListProperty Name="UndefinePreprocessorDefinitions" DisplayName="Rimuovi definizioni per il preprocessore" Description="Rimuove una o più definizioni, comprese le macro MIDL. (/U[macro])" Category="Advanced" Switch="U" F1Keyword="VC.Project.VCMidlTool.UndefinePreprocessorDefinitions">
  </StringListProperty>
  <EnumProperty Name="EnableErrorChecks" DisplayName="Abilita controllo errori" Description="Specifica l'opzione di controllo degli errori. ([/error tutti|nessuno])" Category="Advanced" F1Keyword="VC.Project.VCMidlTool.EnableErrorChecks">
    <EnumValue Name="EnableCustom" Switch="" DisplayName="EnableCustom" Description="Tutti">
    </EnumValue>
    <EnumValue Name="All" Switch="error all" DisplayName="Tutti" Description="Tutti">
    </EnumValue>
    <EnumValue Name="None" Switch="error none" DisplayName="Nessuno" Description="Nessuno">
    </EnumValue>
  </EnumProperty>
  <BoolProperty Name="ErrorCheckAllocations" DisplayName="Controlla allocazioni" Description="Verifica la presenza di errori di memoria. (/error allocation)" Category="Advanced" Switch="error allocation" F1Keyword="VC.Project.VCMidlTool.ErrorCheckAllocations">
  </BoolProperty>
  <BoolProperty Name="ErrorCheckBounds" DisplayName="Controlla limiti" Description="Verifica la specifica relativa alla dimensione rispetto a quella relativa alla durata delle trasmissioni. (/error bounds_check)" Category="Advanced" Switch="error bounds_check" F1Keyword="VC.Project.VCMidlTool.ErrorCheckBounds">
  </BoolProperty>
  <BoolProperty Name="ErrorCheckEnumRange" DisplayName="Controlla intervallo di enumerazione" Description="Verifica che i valori enum siano compresi nell'intervallo consentito. (/error enum)" Category="Advanced" Switch="error enum" F1Keyword="VC.Project.VCMidlTool.ErrorCheckEnumRange">
  </BoolProperty>
  <BoolProperty Name="ErrorCheckRefPointers" DisplayName="Controlla puntatori di riferimento" Description="Verifica che i puntatori di riferimento siano non Null. (/error ref)" Category="Advanced" Switch="error ref" F1Keyword="VC.Project.VCMidlTool.ErrorCheckRefPointers">
  </BoolProperty>
  <BoolProperty Name="ErrorCheckStubData" DisplayName="Controlla dati stub" Description="Crea un controllo aggiuntivo per la validità dei dati dello stub sul lato server. (/error stub_data)" Category="Advanced" Switch="error stub_data" F1Keyword="VC.Project.VCMidlTool.ErrorCheckStubData">
  </BoolProperty>
  <BoolProperty ReverseSwitch="no_robust" Name="ValidateAllParameters" DisplayName="Convalida parametri" Description="Genera ulteriori informazioni per la convalida dei parametri. (/robust|/no_robust)" Category="Advanced" Switch="robust" F1Keyword="VC.Project.VCMidlTool.ValidateParameters">
  </BoolProperty>
  <EnumProperty Name="StructMemberAlignment" DisplayName="Allineamento membri struct" Description="Specifica il livello di compressione delle strutture nel sistema di destinazione. (/ZpN)" Category="Advanced" F1Keyword="VC.Project.VCMidlTool.StructMemberAlignment">
    <EnumValue Name="NotSet" Switch="" DisplayName="Non impostato" Description="Non impostato">
    </EnumValue>
    <EnumValue Name="1" Switch="Zp1" DisplayName="1 byte" Description="Zp1">
    </EnumValue>
    <EnumValue Name="2" Switch="Zp2" DisplayName="2 byte" Description="Zp2">
    </EnumValue>
    <EnumValue Name="4" Switch="Zp4" DisplayName="4 byte" Description="Zp4">
    </EnumValue>
    <EnumValue Name="8" Switch="Zp8" DisplayName="8 byte" Description="Zp8">
    </EnumValue>
  </EnumProperty>
  <StringProperty Subtype="file" Name="RedirectOutputAndErrors" DisplayName="Reindirizza output" Description="Reindirizza l'output dallo schermo a un file. (/o file)" Category="Advanced" Switch="o" Separator=" " F1Keyword="VC.Project.VCMidlTool.RedirectOutputAndErrors">
  </StringProperty>
  <StringProperty Subtype="folder" Name="TrackerLogDirectory" DisplayName="Directory log di Tracker" Description="Directory dei log di Tracker." IncludeInCommandLine="false" Visible="false">
  </StringProperty>
  <StringProperty Name="AdditionalOptions" DisplayName="Opzioni aggiuntive" Description="Opzioni aggiuntive" Category="Command Line" F1Keyword="vc.project.AdditionalOptionsPage">
  </StringProperty>
</Rule>
